home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
FROMUTS
/
UNIXLIB37B
/
src
/
sys
/
s
/
_jmp
< prev
next >
Wrap
Text File
|
1992-02-25
|
1KB
|
92 lines
; /* _jmp.s (c) Copyright 1990 H.Rogers */
a1 RN 0
a2 RN 1
a3 RN 2
a4 RN 3
v1 RN 4
v2 RN 5
v3 RN 6
v4 RN 7
v5 RN 8
v6 RN 9
sl RN 10
fp RN 11
ip RN 12
sp RN 13
lr RN 14
pc RN 15
f0 FN 0
f1 FN 1
f2 FN 2
f3 FN 3
f4 FN 4
f5 FN 5
f6 FN 6
f7 FN 7
AREA |C$$code|,CODE,READONLY
IMPORT |__fpflag|
|__fpflag_ptr|
DCD |__fpflag|
IMPORT |__alloca_list|
|__alloca_list_ptr|
DCD |__alloca_list|
IMPORT free
EXPORT setjmp
setjmp
LDR a4,[pc,#|__fpflag_ptr|-.-8]
LDR a4,[a4,#0]
CMP a4,#0
ADDEQ a1,a1,#48
BEQ |__setjmp_l1|
STFE f4,[a1],#12
STFE f5,[a1],#12
STFE f6,[a1],#12
STFE f7,[a1],#12
|__setjmp_l1|
LDR a4,[pc,#|__alloca_list_ptr|-.-8]
LDR a4,[a4,#0]
STR a4,[a1],#4
STMIA a1,{a1,v1,v2,v3,v4,v5,v6,fp,sp,lr}
MOV a1,#0
MOVS pc,lr
EXPORT longjmp
longjmp
LDR a4,[pc,#|__fpflag_ptr|-.-8]
LDR a4,[a4,#0]
CMP a4,#0
ADDEQ a1,a1,#48
BEQ |__longjmp_l1|
LDFE f4,[a1],#12
LDFE f5,[a1],#12
LDFE f6,[a1],#12
LDFE f7,[a1],#12
|__longjmp_l1|
LDR a4,[a1],#4
LDR ip,[pc,#|__alloca_list_ptr|-.-8]
LDR a3,[ip,#0]
CMP a3,a4
BEQ |__longjmp_l3|
STMFD sp!,{a1,a2}
|__longjmp_l2|
MOV a1,a3
LDR a3,[a3,#0]
STR a3,[ip,#0]
STMFD sp!,{a3,a4,ip}
BL free
LDMFD sp!,{a3,a4,ip}
CMP a3,a4
BNE |__longjmp_l2|
LDMFD sp!,{a1,a2}
|__longjmp_l3|
STR a2,[a1,#0]
LDMIA a1,{a1,v1,v2,v3,v4,v5,v6,fp,sp,pc}^
END